package demo

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object test01 {

  def main(args: Array[String]): Unit = {

    val conf = new SparkConf().setAppName("aaa").setMaster("local")
    val sparkContext = new SparkContext(conf)

    val dataRDD1 = sparkContext.makeRDD(List(("a",1),("a",2),("c",3)))
    val dataRDD2 = sparkContext.makeRDD(List(("a",1),("c",2),("c",3)))
    val value: RDD[(String, (Iterable[Int], Iterable[Int]))] = dataRDD1.cogroup(dataRDD2)

    value.collect().foreach(println)

    /**
     * (a,(CompactBuffer(1, 2),CompactBuffer(1)))
     * (c,(CompactBuffer(3),CompactBuffer(2, 3)))
     */

    sparkContext.stop()
  }

}
